/**
 * 初始化
 */
$(function() {
	
	/**
	 * 键盘点击事件，回车键，执行搜索
	 */
	$("input").bind('keypress', function(event) {
		if (event.keyCode == "13") {
			sys.reloadTable('pointTable');
		}
	});
	
    // 初始化列表
    initpointTable();
    // 查询
    $('#btnQuery').on('click', function() {
        var beginPoint = $("#beginPoint").val();
        var endPoint = $("#endPoint").val();
        var reg = /^[1-9][0-9]*$/;
        if (beginPoint && !reg.test(beginPoint)) {
            showErr('积分范围输入不正确，请重新输入！', function() {
                $("#beginPoint").focus();
                $("#beginPoint").select();
            });
            return;
        }
        if (endPoint && !reg.test(endPoint)) {
            showErr('积分范围输入不正确，请重新输入！', function() {
                $("#endPoint").focus();
                $("#endPoint").select();
            });
            return;
        }
        if(parseInt(beginPoint) > parseInt(endPoint)) {
            showErr('积分范围输入不正确，请重新输入！');
            return;
        }
        sys.reloadTable('pointTable');
    });

    // 人工操作类型
    sys.selectpicker({
        id : 'pointUserOptType', // select的id
        url : rootPath + "/dict/listKeyMapEntites", // 请求数据的远程地址
        param : {
            keyType : 'pointUserOptType'
        }, // 过滤参数
        // defaultValue:{},
        valueField : 'keyValue',
        textField : 'keyIntro'
    });

    // 清空
    $('#btnClear').on('click', function() {
        $("input").val("");
    });
});

function initpointTable() {
    // 定义列
    var columns = [
            {
                field : 'no',
                title : '序号',
                align : 'center',
                valign : 'middle',
                formatter : function(value, row, index) {
                    var options = $("#pointTable").bootstrapTable("getOptions");
                    return options.pageSize * (options.pageNumber - 1) + index + 1;
                }
            },
            {
                field : 'id',
                title : 'ID',
                align : 'center',
                valign : 'middle',
                visible : false
            },
            {
                field : 'customerId',
                title : '客户ID',
                align : 'center',
                valign : 'middle',
                visible : false
            },
            {
                field : 'mobile',
                title : '客户号码',
                align : 'center',
                valign : 'middle'
            },
            {
                field : 'customerName',
                title : '客户名称',
                align : 'center',
                valign : 'middle'
            },
            {
                field : 'companyName',
                title : '客户单位',
                align : 'center',
                valign : 'middle'
            },
            {
                field : 'point',
                title : '积分值',
                align : 'center',
                valign : 'middle'
            },
            {
                field : '#',
                title : '操作',
                align : 'center',
                valign : 'middle',
                width : '10%',
                formatter : function(value, row, index) {
                    var btnDetail = "<a class='btn btn-xs btn-info' href='javaScript:void(0);' onclick='toOptLog("
                            + row.customerId + ")'>详情</a>";
                    var param = "\"" + row.id + "\",\"" + row.customerId + "\",\"" + row.mobile + "\",\""
                            + row.customerName + "\",\"" + row.point + "\"";
                    var btnModify = "<a class='btn btn-xs btn-info' href='javaScript:void(0);' onclick='toModifyPoint("
                            + param + ")'>编辑</a>";
                    return btnDetail + btnModify;
                }
            } ];

    // 定义查询回调函数（查询参数在此设置）
    var queryParams = function(params) {
        var customerName = $("#customerName").val();
        var companyName = $("#companyName").val();
        var mobile = $("#mobile").val();
        var beginPoint = $("#beginPoint").val();
        var endPoint = $("#endPoint").val();
        return {
            rows : params.limit, // 页面大小
            page : params.pageNumber, // 页码
            customerName : customerName,
            companyName : companyName,
            mobile : mobile,
            beginPoint : beginPoint,
            endPoint : endPoint
        };
    };
    var url = rootPath + "/point/listPointPage"; // 请求json数据的服务器地址
    sys.initTable('pointTable', {
        url : url,
        queryParams : queryParams,
        columns : columns,
        striped : true,
        clickToSelect : true
    });
}

/**
 * 转到积分详情页面（积分流水）
 * 
 * @Description do-something
 * @author xu_cc
 * @date 创建时间：2017年10月23日 下午4:18:32
 * @param customerId
 */
function toOptLog(customerId) {
    window.location.href = rootPath + "/point/toPointLogPage?customerId=" + customerId;
}

/**
 * 保存积分操作
 * 
 * @Description do-something
 * @author xu_cc
 * @date 创建时间：2017年10月23日 下午3:29:06
 */
function doSavePoint() {
    showConfirm("确认调整积分信息吗？", function() {
        var customerId = $("#customerId").val();
        var id = $("#id").val();
        var operateType = $("#pointUserOptType").val();
        var operatePoint = $("#operatePoint").val();
        var adjustReason = $("#adjustReason").val();
        var operateFlag = -1;
        if (operateType == '3') {
            // 人工赠送=加
            operateFlag = 1;
        } else if (operateType == '5') {
            // 人工核减=减
            operateFlag = 0;
            // 核减的话需要验证积分够不够
            var oldPoint = $("#labelPoint").html();
            if (parseFloat(oldPoint) < parseFloat(operatePoint)) {
                showErr('当前积分不够！', function() {
                    $("#operatePoint").focus();
                    $("#operatePoint").select();
                });
                return;
            }
        } else {
            showErr('未知的操作类型，请重新选择！');
            return;
        }
        if (!operatePoint) {
            showErr('请输入调整积分！', function() {
                $("#operatePoint").focus();
            });
            return;
        }
        // 大于 0 的数字校验
        var reg = /^([0-9][0-9]*(\.[0-9]{1,6})?|0\.(?!0+$)[0-9]{1,6})$/;
        if (!reg.test(operatePoint)) {
            showErr('调整积分输入不正确，请重新输入！', function() {
                $("#operatePoint").focus();
                $("#operatePoint").select();
            });
            return;
        }
        if (!adjustReason) {
            showErr('请输入积分调整原因！', function() {
                $("#adjustReason").focus();
            });
            return;
        }
        // 执行调整
        $.ajax({
            url : rootPath + "/point/doOperatePoint",
            type : "post",
            async : false,
            dataType : 'json',
            data : {
                id : id,
                customerId : customerId,
                operateType : operateType,
                operateFlag : operateFlag,
                operatePoint : operatePoint,
                adjustReason : adjustReason
            },
            success : function(json) {
                if (json.code == '1') {
                    showSuccess(json.msg, function() {
                        $("#pointModal").modal('hide');
                        sys.reloadTable('pointTable');
                    });
                } else {
                    showErr(json.msg);
                }
            }
        });
    });
}

/**
 * 打开积分修改弹出层
 * 
 * @Description do-something
 * @author xu_cc
 * @date 创建时间：2017年10月23日 下午2:51:41
 * @param rowObj
 */
function toModifyPoint(id, customerId, mobile, customerName, point) {
    // $("#pointUserOptType").val('');
    $("#operatePoint").val('');
    $("#adjustReason").val('');

    $("#pointModal").modal('show');
    $("#labelCustomerName").html(customerName);
    $("#labelMobile").html(mobile);
    $("#labelPoint").html(point);
    $("#customerId").val(customerId);
    $("#id").val(id);
}